<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Descripcion</title>
</head>

<body>
<h1>Descripci&oacute;n a alto nivel</h1>

<p>
El sistema de b&uacute;squeda de port&aacute;tiles consta de tres capas 
diferenciadas que mueven todo el motor. Estas tres partes est&aacute;n 
inspiradas en un modelo de programaci&oacute;n en capas. Este modelo
  nos ayuda a separar los datos y l&oacute;gica del razonamiento basado en 
  reglas de la l&oacute;gica de control java y de la interfaz 
gr&aacute;fica.</p>
<ul>
  <li>Capa de datos y l&oacute;gica Jess: En esta capa estan representados los 
distintos motores Jess, estos motores son los realizados por los 
diferentes grupos en la pr&aacute;ctica anterior. Hemos
usado aquellos motores que usaban una l&oacute;gica basada en 
reglas para la obtenci&oacute;n de datos</li>
<li>Capa de negocio o l&oacute;gica Java: Esta capa se encagar de 
unificar el acceso a los datos y las distintas consultas. Inspirándonos
en el modelo vista controlador, hemos creado una interfaz común a todos 
los motores, para el acceso unificado a la informaci&oacute;n. Las 
implementaciones de esta interfaz deben mantenerse con una serie
de restricciones de bajo nivel para que puedan ser usadas a alto nivel.
Lo que hace que el acceso a los datos sea independiente del motor
Jess utilizado en la capa de datos y l&oacute;gica jess. Los datos 
tambi&eacute;n y solo se almacenan aquellos datos devueltos desde la 
l&oacute;gica Jess que van a ser usados por la capa superior</li>
<li>Capa de interfaz: Esta capa es la encargada de recoger las 
restricciones de busquedas introducidas por el usuario, como de la
representación de esta informaci&oacute;n. También se encarga de
las llamadas a las distintas implementaciones del motor de busqueda
utilizado. Esta interfaz no te permite realizar busquedas que no puedan
ejecutarse en las marcas seleccioadas para realizar la busqueda</li>
</ul>
<p>La interfaz contiene los métodos para realizar los filtrados
expuestos en la Especificaci&oacute;n. Como requisitos de esta interfaz, existe
la necesidad de, si la búsqueda no puede realizarse, el valor de retorno
de datos debe ser nulo y debe especificarse cuales son los criterios
de búsqueda que han fallado.

<p>La funciones de filtrado de la interfaz son las siguientes.</p>

<ul>
<li>filtrarPrecio(int min,int max)
</li>
<li>filtrarPulgadas(int min,int max)
</li>
<li>filtrarResolucion(int minX, int minY,int maxX, int maxY)
</li>
<li>filtrarMemGrafica(int min,int max)
</li>
<li>filtrarRam(int min,int max)
</li>
<li>filtrarDisco(int min,int max)
</li>
<li>filtrarDuracionBateria(int min,int max)
</li>
<li>filtrarPeso(int min,int max)
</li>
<li>filtrarReloj(int min,int max)
</li>
</ul>

<p><a href='Index.html'>Inicio</a></p>
</body>
</html>
